    /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package documentadorrepositorio.fabricaRepositorio;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.swing.JOptionPane;

/**
 *
 * @author romulo
 */
public class NomeRepositorio
{

    private static NomeRepositorio instance = null;

    private NomeRepositorio()
    {
        carregaArtefatos();
    }
    
    
    
    
    public static NomeRepositorio getInstance()
    {
        if(instance == null)
            instance = new NomeRepositorio();
        return instance;
    }
    
    Properties configuracoesNomes = new Properties();
    private void carregaArtefatos() 
    {
        try 
        {
            configuracoesNomes.load(NomeRepositorio.class.getResourceAsStream("descricaoRepositorio.properties"));
        } 
        catch (IOException ex) 
        {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }
    
    public ArrayList<Object> listaRepositorios() 
    {
        return new ArrayList<Object>(configuracoesNomes.keySet());
    }
    
    public String getNome(String sigla) throws Exception 
    {
        try 
        {
            return configuracoesNomes.getProperty(sigla);
        } 
        catch (Exception e) 
        {
            throw new Exception("repositorio não existe.");
        }
    }
    
    public String getSigla(String nome)throws Exception 
    {
        try
        {
            for(Object item: listaRepositorios())
                if(getNome(item.toString()).compareTo(nome)==0)
                    return item.toString();
            return nome;
        }
        catch (Exception e) 
        {
            throw new Exception("Repositorio não existe.");
        }
        
    }
    
}
